package socket_net_code.tcp;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Demo1_Server {
    /*
    .服务端
        创建ServerSocket(需要指定端口号)
        调用ServerSocket的accept()方法接收一个客户端请求，得到一个Socket
        调用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流
        输入流可以读取客户端输出流写出的数据
        输出流可以写出数据到客户端的输入流
     */
    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket(8888);
        //接收客户端的请求
        Socket socket1 = server.accept();
        //获取客户端的输入流
        InputStream is = socket1.getInputStream();
        //获取客户端的输出流
        OutputStream os = socket1.getOutputStream();



        //读取客户端传输过来的数据
        byte[] arr = new byte[1024];
        int len = is.read(arr);
        //将数据转换成字符串并打印
        System.out.println(new String(arr, 0, len));

        //服务器向客户端写出数据
        os.write("你好 nihao".getBytes());

        socket1.close();


    }
}
